<ui:composition template="../../templates/template.xhtml"
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:c="http://java.sun.com/jsp/jstl/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui">

	<ui:define name="dialogs">

		<p:dialog header="Cadastrar usuario" widgetVar="dlgAdicionaUsuario"
			resizable="false" draggable="false" modal="true">
			<h:form>
				<p:panelGrid columns="2">

					<h:outputLabel for="matricula" value="Matricula: " />
					<p:inputText id="matricula" value="#{controleBean.matricula}"
						required="true"
						requiredMessage="O campo matricula &#233; necess&#225;rio." />

					<h:outputLabel for="fullname" value="Nome Completo: " />
					<p:inputText id="fullname" value="#{controleBean.nome}"
						required="true"
						requiredMessage="O campo nome &#233; necess&#225;rio." />

					<h:outputLabel for="telephone" value="Telefone: " />
					<p:inputText id="telephone" value="#{controleBean.telefone}"
						required="true"
						requiredMessage="O campo telefone &#233; necess&#225;rio." />

					<h:outputLabel for="Email" value="E-mail: " />
					<p:inputText id="Email" value="#{controleBean.email}"
						required="true"
						requiredMessage="O campo e-mail &#233; necess&#225;rio." />

					<h:outputLabel for="Rua" value="Endere&#231;o: " />
					<p:inputText id="Rua" value="#{controleBean.rua}" required="true"
						requiredMessage="O campo rua &#233; necess&#225;rio." />

					<h:outputLabel for="numero" value="Numero: " />
					<p:inputText id="numero" value="#{controleBean.numero}"
						required="true"
						requiredMessage="O campo numero &#233; necess&#225;rio." />

					<h:outputLabel for="Complemento" value="Complemento: " />
					<p:inputText id="Complemento" value="#{controleBean.complemento}"
						required="true"
						requiredMessage="O campo complemento &#233; necess&#225;rio." />

					<h:outputLabel for="UF" value="UF: " />
					<p:inputText id="UF" value="#{controleBean.uf}" required="true"
						requiredMessage="O campo uf &#233; necess&#225;rio." />

					<h:outputLabel for="Bairro" value="Bairro: " />
					<p:inputText id="Bairro" value="#{controleBean.bairro}"
						required="true"
						requiredMessage="O campo bairro &#233; necess&#225;rio." />

					<h:outputLabel for="cep" value="CEP: " />
					<p:inputText id="cep" value="#{controleBean.cep}" required="true"
						requiredMessage="O campo cep &#233; necess&#225;rio." />

					<f:facet name="footer">
						<p:row>
							<p:column style="text-align: right">
								<p:commandButton value="Salva"
									oncomplete="dlgAdicionaUsuario.hide()"
									action="#{controleBean.cadastrarUsuario}"
									update=":formusuarios:datausuario, :messages"
									icon="ui-icon-check" />
							</p:column>
							<p:column>
								<p:commandButton type="reset" value="Limpa" icon="ui-icon-trash" />
							</p:column>
							<p:column>
								<p:commandButton value="Cancela"
									onclick="dlgAdicionaUsuario.hide()" icon="ui-icon-close" />
							</p:column>
						</p:row>
					</f:facet>
				</p:panelGrid>
			</h:form>
		</p:dialog>

		<p:dialog header="Controle do usuario" widgetVar="dlgEdita"
			resizable="false" draggable="false" modal="true">
			<h:form id="display">
				<h:panelGrid columns="2">
					<h:outputText value="Nome do Usuario" />
					<h:inputText value="#{controleBean.usuarioControle.nome}"
						size="#{controleBean.usuarioControle.nome.length()}" />

					<h:outputText value="Senha" />
					<h:inputText value="#{controleBean.usuarioControle.senha}"
						size="#{controleBean.usuarioControle.senha.length()}" />

					<h:outputText value="Tipo de usuario" />
					<p:selectOneMenu value="#{controleBean.usuarioControle.papel}"
						converter="papelConverter">
						<f:selectItems value="#{controleBean.papeis}" />
					</p:selectOneMenu>

					<h:outputText value="Telefone" />
					<h:inputText value="#{controleBean.usuarioControle.telefone}"
						size="#{controleBean.usuarioControle.telefone.length()}" />

					<h:outputText value="E-mail" />
					<h:inputText value="#{controleBean.usuarioControle.email}"
						size="#{controleBean.usuarioControle.email.length()}" />

					<h:outputText value="Endere&#231;o" />
					<h:inputText value="#{controleBean.usuarioControle.endereco.rua}"
						size="#{controleBean.usuarioControle.endereco.rua.length()}" />

					<h:outputText value="Numero" />
					<h:inputText
						value="#{controleBean.usuarioControle.endereco.numero}"
						size="#{controleBean.usuarioControle.endereco.numero.length()}" />

					<h:outputText value="Complemento" />
					<h:inputText
						value="#{controleBean.usuarioControle.endereco.complemento}"
						size="#{controleBean.usuarioControle.endereco.complemento.length()}" />

					<h:outputText value="Bairro" />
					<h:inputText
						value="#{controleBean.usuarioControle.endereco.bairro}"
						size="#{controleBean.usuarioControle.endereco.bairro.length()}" />

					<h:outputText value="UF" />
					<h:inputText value="#{controleBean.usuarioControle.endereco.uf}"
						size="#{controleBean.usuarioControle.endereco.uf.length()}" />

					<h:outputText value="CEP" />
					<h:inputText value="#{controleBean.usuarioControle.endereco.cep}"
						size="#{controleBean.usuarioControle.endereco.cep.length()}" />

					<f:facet name="footer">
						<p:commandButton value="Edita" onclick="dlgEdita.hide()"
							action="#{controleBean.updateControleUsuario}"
							update=":formusuarios" />
						<p:commandButton value="Exclui" onclick="dlgEdita.hide()"
							action="#{controleBean.excluiControleUsuario}"
							update=":formusuarios" />
					</f:facet>
				</h:panelGrid>
			</h:form>
		</p:dialog>
	</ui:define>

	<ui:define name="content-center">
		<h3>
			<h:outputText value="Controle de Usu&#225;rio" />
		</h3>
		<p:separator />
		<br />
		<h:form id="formusuarios">
			<p:dataTable var="usuario" id="datausuario"
				value="#{controleBean.listaUsuarios}" paginator="true"
				selection="#{controleBean.usuarioControle}" selectionMode="single"
				rowKey="#{usuario.matricula}" rows="10" paginatorPosition="bottom"
				emptyMessage="N&#227;o h&#225; usuarios.">

				<p:ajax event="rowSelect" update=":display"
					oncomplete="dlgEdita.show()" />
				<p:ajax event="rowUnselect" update=":formusuarios" />

				<p:column headerText="Matricula" width="200"
					filterBy="#{usuario.matricula}">
					<h:outputText value="#{usuario.matricula}" />
				</p:column>

				<p:column headerText="Nome" width="200" filterBy="#{usuario.nome}">
					<h:outputText value="#{usuario.nome}" />
				</p:column>

				<p:column headerText="Tipo de Usuario" width="150">
					<h:outputText value="#{usuario.papel}" />
				</p:column>

				<p:column headerText="Telefone" width="150">
					<h:outputText value="#{usuario.telefone}" />
				</p:column>

				<p:column headerText="E-mail" width="150"
					filterBy="#{usuario.email}">
					<h:outputText value="#{usuario.email}" />
				</p:column>

			</p:dataTable>
		</h:form>
		<p:commandButton value="Adiciona Usuario"
			onclick="dlgAdicionaUsuario.show()" icon="ui-icon-plus" />
	</ui:define>
</ui:composition>